#ifndef MUTAEVENT_H
#define MUTAEVENT_H

#include <QGraphicsRectItem>
#include <MutaObject.h>
#include <QPropertyAnimation>
#include <QObject>

class MutaEvent : public MutaObject,public QGraphicsRectItem
{
    Q_OBJECT
public:
    MutaEvent(QString ObjectID,QString owner, qreal x, qreal y,int layer);
    MutaEvent(MutaEvent* copy);
    virtual void setPos(const QPointF &pos);
    void changeLength(QPointF point);
    void changeLength(float length);
    int getLayer();
    QStringList getProperties();
    virtual int type() const;
    virtual void moveBy(qreal dx, qreal dy);
    virtual void setX(qreal x);
    virtual void setY(qreal Y);
    void remoteSetX(float x);
    void remoteSetY(float y);
    virtual void forceOSCthulhuUpdate();
private:
    void setColor();
    int rWidth;
    int layer;

protected:
    virtual void mouseMoveEvent( QGraphicsSceneMouseEvent * event );
    void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
    QVariant itemChange(GraphicsItemChange change, const QVariant &value);

signals:
};

#endif // MUTAEVENT_H
